// This file was decompiled using SASCM.ini published by GTAG (http://gtag.gtagaming.com/opcode-database) on 14.6.2013
{$CLEO .cs}

//-------------MAIN---------------
0000: NOP 

:NONAME_2
wait 250 
if 
   Player.Defined($PLAYER_CHAR)
else_jump @NONAME_214 
03BF: set_player $PLAYER_CHAR ignored_by_everyone 0 
0AB5: store_actor $PLAYER_ACTOR closest_vehicle_to 0@ closest_ped_to 1@ 
if 
   not 0@ == -1 
else_jump @NONAME_2 
if 21 
   Car.Model(0@) == #TAXI
   Car.Model(0@) == #CABBIE
else_jump @NONAME_2 
01E9: 18@ = car 0@ num_passengers 
if 
  18@ == 0 
else_jump @NONAME_2 
046C: 32@ = car 0@ driver 
if 
   not 32@ == -1 
else_jump @NONAME_2 
if 
00E1:   player 0 pressed_key 4 
else_jump @NONAME_2 
jump @NONAME_162 

:NONAME_162
wait 0 
Car.StorePos(0@, 27@, 28@, 29@)
Car.DriveTo(0@, 27@, 28@, 29@)
05CA: AS_actor $PLAYER_ACTOR enter_car 0@ passenger_seat 1 time 10000 
jump @NONAME_221 

:NONAME_214
jump @NONAME_2 

:NONAME_221
wait 0 
2@ = Player.WantedLevel($PLAYER_CHAR)
if 21 
00E1:   player 0 pressed_key 0 
wasted_or_busted 
else_jump @NONAME_259 
jump @NONAME_2 

:NONAME_259
wait 0 
if 
   Actor.InCar($PLAYER_ACTOR, 0@)
else_jump @NONAME_221 
jump @NONAME_289 

:NONAME_289
wait 0 
if 
   Actor.InCar($PLAYER_ACTOR, 0@)
else_jump @NONAME_289 
if 
  2@ == 0 
else_jump @NONAME_349 
Player.ClearWantedLevel($PLAYER_CHAR)
03BF: set_player $PLAYER_CHAR ignored_by_everyone 1 
jump @NONAME_356 

:NONAME_349
jump @NONAME_356 

:NONAME_356
wait 1000 
03E6: remove_text_box 
0512: show_permanent_text_box 'MYCONT' 
0A92: create_custom_thread "TAXICAMERA.S"  
jump @NONAME_398 

:NONAME_398
wait 0 
if 1 
   Actor.InCar($PLAYER_ACTOR, 0@)
   not wasted_or_busted 
else_jump @NONAME_2 
0AB6: store_target_marker_coords_to 5@ 6@ 7@ // IF and SET 
if 
   Player.WantedLevel($PLAYER_CHAR) > 2
else_jump @NONAME_483 
046C: 30@ = car 0@ driver 
05DD: AS_actor 30@ flee_from_actor $PLAYER_ACTOR from_origin_radius 100.0 timelimit 10000 
jump @NONAME_2 

:NONAME_483
if 
00E1:   player 0 pressed_key 17 
else_jump @NONAME_398 
Car.StorePos(0@, 11@, 12@, 13@)
050A: 32@ = distance_between_XYZ 11@ 12@ 13@ and_XYZ 5@ 6@ 7@ 
32@ *= 0.01 
0090: 32@ = float 32@ to_integer 
32@ += -1 
if 
   Player.Money($PLAYER_CHAR) > 32@
else_jump @NONAME_667 
jump @NONAME_588 

:NONAME_588
wait 0 
03E6: remove_text_box 
0512: show_permanent_text_box 'MCONT' 
0A92: create_custom_thread "TRAFFICRULES.S"  
Car.SetToNormalDriver(0@)
Car.SetDriverBehaviour(0@, FollowRoad)
Car.SetMaxSpeed(0@, 30.0)
Car.DriveTo(0@, 5@, 6@, 7@)
jump @NONAME_856 

:NONAME_667
wait 500 
0512: show_permanent_text_box 'INMON' 
jump @NONAME_690 

:NONAME_690
wait 0 
if 
00E1:   player 0 pressed_key 17 
else_jump @NONAME_718 
jump @NONAME_588 

:NONAME_718
if 
00E1:   player 0 pressed_key 6 
else_jump @NONAME_828 
Car.StorePos(0@, 11@, 12@, 13@)
050A: 32@ = distance_between_XYZ 11@ 12@ 13@ and_XYZ 5@ 6@ 7@ 
32@ *= 0.01 
0090: 32@ = float 32@ to_integer 
32@ += -1 
if 
   Player.Money($PLAYER_CHAR) > 32@
wait 1000 
else_jump @NONAME_690 
jump @NONAME_588 

:NONAME_828
if 21 
   not Actor.InCar($PLAYER_ACTOR, 0@)
wasted_or_busted 
else_jump @NONAME_690 
jump @NONAME_2 

:NONAME_856
wait 0 
if 
   not wasted_or_busted 
else_jump @NONAME_2 
072F: enable_car 0@ stuck_check_distance 1.0 time 2000 and_restore_if stuck 1 flipped 1 unk_place_on_road_properly 1 to_path 1 // extended 03CC 
if 
01AD:   car 0@ sphere 0 near_point 5@ 6@ radius 25.0 25.0 
else_jump @NONAME_1174 
Car.SetMaxSpeed(0@, 0.0)
jump @NONAME_945 

:NONAME_945
wait 0 
if 
01C1:   car 0@ stopped 
else_jump @NONAME_945 
050A: 17@ = distance_between_XYZ 11@ 12@ 13@ and_XYZ 5@ 6@ 7@ 
17@ *= 0.01 
0090: 17@ = float 17@ to_integer 
17@ *= -1 
050A: 32@ = distance_between_XYZ 11@ 12@ 13@ and_XYZ 5@ 6@ 7@ 
32@ *= 0.01 
0090: 32@ = float 32@ to_integer 
32@ += -1 
if 
   Player.Money($PLAYER_CHAR) > 32@
else_jump @NONAME_1671 
Player.Money($PLAYER_CHAR) += 17@
wait 1000 
0633: AS_actor $PLAYER_ACTOR exit_car 
17@ *= -1 
01E4: show_text_1number_lowpriority GXT 'FARED' number 17@ time 2000 flag 1 
03E6: remove_text_box 
wait 1000 
00AE: set_car 0@ traffic_behaviour_to 1 
Car.SetMaxSpeed(0@, 30.0)
Car.RemoveReferences(0@)
wait 1000 
Camera.Restore_WithJumpCut
03BF: set_player $PLAYER_CHAR ignored_by_everyone 0 
jump @NONAME_2 

:NONAME_1174
if 
   not Actor.InCar($PLAYER_ACTOR, 0@)
else_jump @NONAME_1398 
Car.StorePos(0@, 21@, 22@, 23@)
Car.DriveTo(0@, 21@, 22@, 23@)
050A: 17@ = distance_between_XYZ 11@ 12@ 13@ and_XYZ 21@ 22@ 23@ 
17@ *= 0.01 
0090: 17@ = float 17@ to_integer 
17@ *= -1 
050A: 32@ = distance_between_XYZ 11@ 12@ 13@ and_XYZ 21@ 22@ 23@ 
32@ *= 0.01 
0090: 32@ = float 32@ to_integer 
32@ += -1 
if 
   Player.Money($PLAYER_CHAR) > 32@
else_jump @NONAME_1671 
Player.Money($PLAYER_CHAR) += 17@
17@ *= -1 
01E4: show_text_1number_lowpriority GXT 'FARED' number 17@ time 2000 flag 1 
Car.RemoveReferences(0@)
03E6: remove_text_box 
wait 1000 
Camera.Restore_WithJumpCut
03BF: set_player $PLAYER_CHAR ignored_by_everyone 0 
jump @NONAME_2 

:NONAME_1398
wait 0 
if 
0AB0:   key_pressed 32 
else_jump @NONAME_856 
0169: set_fade_color_RGB 0 0 0 
fade 0 2000 
wait 2000 
Car.PutAt(0@, 5@, 6@, 7@)
wait 2000 
fade 1 2000 
050A: 17@ = distance_between_XYZ 11@ 12@ 13@ and_XYZ 5@ 6@ 7@ 
17@ *= 0.01 
0090: 17@ = float 17@ to_integer 
17@ *= -1 
050A: 32@ = distance_between_XYZ 11@ 12@ 13@ and_XYZ 5@ 6@ 7@ 
32@ *= 0.01 
0090: 32@ = float 32@ to_integer 
32@ += -1 
if 
   Player.Money($PLAYER_CHAR) > 32@
else_jump @NONAME_1671 
Player.Money($PLAYER_CHAR) += 17@
Car.RemoveReferences(0@)
0633: AS_actor $PLAYER_ACTOR exit_car 
17@ *= -1 
01E4: show_text_1number_lowpriority GXT 'FARED' number 17@ time 2000 flag 1 
wait 1000 
00AE: set_car 0@ traffic_behaviour_to 1 
Car.DriveTo(0@, 11@, 12@, 13@)
03E6: remove_text_box 
wait 1000 
Camera.Restore_WithJumpCut
03BF: set_player $PLAYER_CHAR ignored_by_everyone 0 
jump @NONAME_2 

:NONAME_1671
wait 0 
046C: 30@ = car 0@ driver 
03E5: show_text_box 'MYMON' 
jump @NONAME_1701 

:NONAME_1701
wait 0 
Car.StorePos(0@, 25@, 26@, 27@)
Car.DriveTo(0@, 25@, 26@, 27@)
0633: AS_actor 30@ exit_car 
07A5: AS_actor 30@ attack_actor $PLAYER_ACTOR time 30000 
0633: AS_actor $PLAYER_ACTOR exit_car 
wait 30000 
if 
   not Actor.Dead(30@)
else_jump @NONAME_2 
05CB: AS_actor 30@ enter_car 0@ as_driver 10000 ms 
Actor.RemoveReferences(30@)
Car.RemoveReferences(0@)
jump @NONAME_2 
